using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ChooserButton")]
	public class ChooserButton : AdventureGenericButton
	{
		public static string s_EventButtonExpand => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "ChooserButton", "s_EventButtonExpand");

		public static string s_EventButtonContract => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "ChooserButton", "s_EventButtonContract");

		public StateEventTable m_ButtonStateTable => method_3<StateEventTable>("m_ButtonStateTable");

		public float m_ButtonBottomPadding => method_2<float>("m_ButtonBottomPadding");

		public GameObject m_SubButtonContainer => method_3<GameObject>("m_SubButtonContainer");

		public float m_SubButtonHeight => method_2<float>("m_SubButtonHeight");

		public float m_SubButtonContainerBtmPadding => method_2<float>("m_SubButtonContainerBtmPadding");

		public iTween.EaseType m_ActivateEaseType => method_2<iTween.EaseType>("m_ActivateEaseType");

		public iTween.EaseType m_DeactivateEaseType => method_2<iTween.EaseType>("m_DeactivateEaseType");

		public float m_SubButtonVisibilityPadding => method_2<float>("m_SubButtonVisibilityPadding");

		public float m_SubButtonAnimationTime => method_2<float>("m_SubButtonAnimationTime");

		public float m_SubButtonShowPosZ => method_2<float>("m_SubButtonShowPosZ");

		public bool m_SelectSubButtonOnToggle => method_2<bool>("m_SelectSubButtonOnToggle");

		public Vector3 m_MainButtonExtents => method_2<Vector3>("m_MainButtonExtents");

		public List<ChooserSubButton> m_SubButtons => method_3<Class271<ChooserSubButton>>("m_SubButtons")?.method_25();

		public ChooserSubButton m_LastSelectedSubButton => method_3<ChooserSubButton>("m_LastSelectedSubButton");

		public float ButtonBottomPadding => method_11<float>("get_ButtonBottomPadding", Array.Empty<object>());

		public float SubButtonHeight => method_11<float>("get_SubButtonHeight", Array.Empty<object>());

		public float SubButtonContainerBtmPadding => method_11<float>("get_SubButtonContainerBtmPadding", Array.Empty<object>());

		public bool Toggle => method_11<bool>("get_Toggle", Array.Empty<object>());

		public ChooserButton(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ChooserButton(IntPtr address)
			: this(address, "ChooserButton")
		{
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public List<ChooserSubButton> GetSubButtons()
		{
			return method_14<Class251<ChooserSubButton>>("GetSubButtons", Array.Empty<object>())?.method_25();
		}

		public void SetSelectSubButtonOnToggle(bool flag)
		{
			method_8("SetSelectSubButtonOnToggle", flag);
		}

		public void UpdateButtonPositions()
		{
			method_8("UpdateButtonPositions");
		}

		public float GetFullButtonHeight()
		{
			return method_11<float>("GetFullButtonHeight", Array.Empty<object>());
		}

		public void DisableSubButtonHighlights()
		{
			method_8("DisableSubButtonHighlights");
		}

		public bool ContainsSubButton(ChooserSubButton btn)
		{
			return method_11<bool>("ContainsSubButton", new object[1] { btn });
		}

		public void ToggleButton(bool toggle)
		{
			method_8("ToggleButton", toggle);
		}

		public ChooserSubButton CreateSubButton(string subButtonPrefab, bool useAsLastSelected)
		{
			return method_14<ChooserSubButton>("CreateSubButton", new object[2] { subButtonPrefab, useAsLastSelected });
		}

		public Vector3 GetHiddenPosition()
		{
			return method_11<Vector3>("GetHiddenPosition", Array.Empty<object>());
		}

		public Vector3 GetShowPosition()
		{
			return method_11<Vector3>("GetShowPosition", Array.Empty<object>());
		}

		public void OnButtonAnimating(Vector3 curr, float zposshowlimit)
		{
			method_8("OnButtonAnimating", curr, zposshowlimit);
		}

		public void UpdateSubButtonsVisibility(Vector3 curr, float zposshowlimit)
		{
			method_8("UpdateSubButtonsVisibility", curr, zposshowlimit);
		}

		public void OnExpandAnimationComplete()
		{
			method_8("OnExpandAnimationComplete");
		}

		public void FireVisualUpdatedEvent()
		{
			method_8("FireVisualUpdatedEvent");
		}

		public void FireToggleEvent()
		{
			method_8("FireToggleEvent");
		}

		public void FireModeSelectedEvent(ChooserSubButton btn)
		{
			method_8("FireModeSelectedEvent", btn);
		}

		public void FireExpandedEvent(bool expand)
		{
			method_8("FireExpandedEvent", expand);
		}

		public void OnSubButtonClicked(ChooserSubButton btn)
		{
			method_8("OnSubButtonClicked", btn);
		}
	}
}
